POV-Ray : Newsgroups : povray.general : Why are these "invisible" spheres visible? : Why are these "invisible" spheres visible? Server Time
31 Jul 2024 06:16:59 EDT (-0400)
  Why are these "invisible" spheres visible?  
From: gadoid
Date: 6 Sep 2007 16:15:00
Message: <web.46e05e106d67f0f14e9a00c00@news.povray.org>
The code below generates five spheres which should be invisible, yet three
of them are visible from their interaction with the environment.  The
spheres become visible when you apply a rotation to a texture that uses a
texture_map  containing clear (rgbt <1,1,1,1>) components as in the
T_Electron texture below.  If the texture is not rotated, then the sphere
remains invisible.  Rotation applied to a clear texture not part of a
texture_map also remains invisible.

It also seems to be the case that the surface behind the spheres must have a
"normal" for the effect to occur.  The effect goes away if you remove the
"normal" block in the texture of the  "floor".

I realize the T_Electron texture as written below is pretty pointless, but
in the actual scene I am trying to create, not all of the texture map is
clear. The intent was to create a spherical shell of lightning with parts
of the texture_map representing the lightning, and the rest clear.  The
problem I am having is the the clear portions affecting the appearance of
objects behind it.  I removed the "lightning" portion for this example.

I am using povray 3.6

#include "colors.inc"

#declare T_Clear = texture {pigment { Clear }}

#declare T_Electron =
  texture {
    crackle
    texture_map {
        [0.00   T_Clear]
        [1.00   T_Clear]
    }
  }

//
// Three of these spheres are visible (those at x positions -1,
// 0 and 1).
//
sphere { <-1,1,0>,   0.2 hollow texture { T_Electron rotate 90*y }}
sphere { <-0.5,1,0>, 0.2 hollow texture { T_Electron rotate 0*y }}
sphere { <0,1,0>,    0.2 hollow texture { T_Electron rotate 90*y }}
sphere { <0.5,1,0>,  0.2 hollow texture { T_Clear rotate 90*y }}
sphere { <1,1,0>,    0.2 hollow texture { T_Electron rotate 90*y }}


plane { y, 0
  texture {
    pigment {
      checker
      Red
      White
      scale 0.05
    }
    normal { bozo 4}
  }
}

light_source {
  <-8.0,   6,   -10>
  color rgb 2
}

camera {
  //
  // New Main view
  //
  look_at <0,1,0>
  location <0,1.5,-2>

  up <0,1,0>
}


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.